Comparators compare two quantities against one another in order attempt to ascertain the relationship between the two quantities. For instance, comparators can be designed to check two numbers and determine if the numbers are equal or if one of the numbers is greater than or less than the other. Digital comparators are used to determine whether two binary numbers have a desired relationship (i.e., one is equal to the other, one is greater than the other or one is less than the other).
In a digital comparator, two binary numbers are considered equal if all of the corresponding bits of the two numbers are identical. Typically, a comparator produces a logical 1 on its output if the numbers are equal. If the numbers are not equal, the comparator typically produces a logical 0. In a typical comparator, each of the n-bit numbers are compared bit-by-bit with the outputs of each bit-by-bit comparison being combined by an AND gate. In other words, these comparators operate by comparing the bits of one number to the bits in the same bit positions in the other number.
Comparators are often used in a wide variety of applications. For instance, comparators are often used in computer systems to compare addresses, tags, values and other quantities. The uses of comparison electronics in computer systems is often on the critical path, such that actions are dependent on the results produced by the comparisons. Therefore, the results of the comparison are needed as quickly as possible. Thus, it is desirable to be able to perform a comparison very fast.
The present invention provides comparison circuitry which provides a fast comparison between two n-bit binary numbers without the need for a clock signal. The comparison circuitry of the present invention compares numbers and produces an output indicating whether one of the numbers is greater-than-or-equal-to the other number.